Skip to content

[SYCL] [ClangSYCLLinker] Add full sycl-post-link functionality to clang-sycl-linker#21977

Draft
srividya-sundaram wants to merge 2 commits intointel:syclfrom
srividya-sundaram:move-device-linking-to-csl
Draft

[SYCL] [ClangSYCLLinker] Add full sycl-post-link functionality to clang-sycl-linker#21977
srividya-sundaram wants to merge 2 commits intointel:syclfrom
srividya-sundaram:move-device-linking-to-csl

Conversation

@srividya-sundaram
Copy link
Copy Markdown
Contributor

This PR adds full sycl-post-link functionality to clang-sycl-linker with 100% feature parity to clang-linker-wrapper, advancing the new SYCL offload model migration.

Changes:

  • Implemented 4 core functions: getSYCLPostLinkSettings(), getTripleBasedSYCLPostLinkOpts(), runSYCLPostLinkTool(), and runSYCLPostLinkLibrary()
  • Added 14 command-line options for controlling module splitting, ESIMD handling, specialization constants, entry point optimization, thin LTO, and device libraries
  • Supports both tool mode (external sycl-post-link executable) and library mode (direct API) with configurable module split modes (kernel, source, auto, none)
  • Triple-specific configurations for Intel GPU, Intel CPU, NVIDIA, AMD, and NativeCPU targets
  • Added 32 comprehensive test cases covering all options, functions, and execution paths
  • All 131 SYCL driver tests pass with no regressions

Note: sycl-post-link logic remains in clang-linker-wrapper for now during the offload model migration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant